import systemConfig from './systemConfig'
module.exports = (vm) => {
	// 初始化请求配置
	uni.$u.http.setConfig((config) => {
		config.baseURL = systemConfig.apiUrl;
		config.timeout = 60000;
		return config
	})
	// 请求拦截
	uni.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作
		config.header = {
			'content-type': 'application/json',
			'token': uni.getStorageSync('token') || 'none'
		}
		var param = config.data || config.params;
		// uni.showLoading({
		// 	title: '数据加载中 :)'
		// });
		return config;
	}, config => { // 可使用async await 做异步操作
		return Promise.reject(config)
	})
	// 响应拦截
	uni.$u.http.interceptors.response.use((response) => {
		/* 对响应成功做点什么 可使用async await 做异步操作*/
		var res = response.data;

		// uni.hideLoading();
		if (res.code == 200) { //正常返回
			return res === undefined ? {} : res.result;
		}  
		else if (res.code == 401) { //退出登录
			var pages = getCurrentPages();
			let currentRoute = pages[pages.length - 1]
				.route;
			if (currentRoute === 'pages/mine/index') {
				return;
			}
			uni.showModal({
				title: '提示:',
				content: '登录失效，去登录?',
				success: (res) => {
					if (res.confirm) {
						uni.removeStorageSync('token');
						uni.navigateTo({
							url: '/pages/login/index'
						})
					} else if (res.cancel) {
						uni.$u.toast('用户取消登录 :)');

					}
				}
			})
		}
		else {
			uni.$u.toast(res.msg)
			return new Promise(() => {})
			return false;
		}
	}, (response) => {
		uni.hideLoading();
		// 对响应错误做点什么 （statusCode !== 200）
		if (response.statusCode == 401 || response.statusCode == 501) {
			uni.$u.toast('网络错误，请联系管理员!')
			// var pages = getCurrentPages();
			// let currentRoute = pages[pages.length - 1]
			// 	.route;
			// if (currentRoute === 'pages/mine/index') {
			// 	return;
			// }
			// uni.showModal({
			// 	title: '提示:',
			// 	content: '登录失效，去登录?',
			// 	success: (res) => {
			// 		if (res.confirm) {
			// 			uni.removeStorageSync('token');
			// 			uni.navigateTo({
			// 				url: '/pages/login/index'
			// 			})
			// 		} else if (res.cancel) {
			// 			uni.$u.toast('用户取消登录 :)');

			// 		}

			// 	}
			// })


		}
		// return Promise.reject(response) //抛出异常
	})
}